//
//  KqUIAssetsManager.h
//  kq_flutter_widgets
//
//  Created by wtb on 2023/4/12.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/// Asset 授权的状态
typedef NS_ENUM(NSUInteger, KqUIAssetAuthorizationStatus) {
    KqUIAssetAuthorizationStatusNotDetermined,      // 还不确定有没有授权
    KqUIAssetAuthorizationStatusAuthorized,         // 已经授权
    KqUIAssetAuthorizationStatusNotAuthorized,       // 手动禁止了授权
    KqUIAssetAuthorizationStatusLimited //选择了选中的照片 > ios14
};

@interface KqUIAssetsManager : NSObject

/// 获取 GFUIAssetsManager 的单例
+ (instancetype)sharedInstance;

/// 获取当前应用的“照片”访问授权状态
+ (KqUIAssetAuthorizationStatus)authorizationStatus;

/**
 *  调起系统询问是否授权访问“照片”的 UIAlertView
 *  @param handler 授权结束后调用的 block，默认不在主线程上执行，如果需要在 block 中修改 UI，记得 dispatch 到 mainqueue
 */
+ (void)requestAuthorization:(void(^)(KqUIAssetAuthorizationStatus status))handler;
@end

NS_ASSUME_NONNULL_END
